#ifndef OBJECTMANAGER_H
#define OBJECTMANAGER_H

#include "../Utility/TextureManager.h"
#include "../Game Objects/BaseObject.h"
#include "../Game Objects/DynamicObject.h"

#include <DirectXMath.h>
#include <dxgi.h>
using namespace DirectX;

#include <vector>
using namespace std;

struct Object
{
	char texturesUsed;

	int diffuseTexture;
	int normalTexture;
	int specularTexture;

	XMFLOAT3 position;
	XMFLOAT3 velocity;
};

class ObjectManager
{
public:
	ObjectManager();
	ObjectManager(const ObjectManager&);
	~ObjectManager();

	static int AddObject(BaseObject* _object);
	//static int AddStaticObject(StaticObject _staticObject);

	static BaseObject* GetObject(unsigned int _index){return objects[_index];}

private:
	static vector<BaseObject*> objects;
	//vector<StaticObject> staticObjects; 

};

#endif
